Program execution system, program execution device and recording medium and computer executable program therefor

ABSTRACT

A program execution system has a program execution device which has a controller operated by a user and a display on which images such as characters or players in the game are seen. In order to prevent an incorrect movement of a character on the display when switching from one scene viewed from one camera viewpoint to another scene viewed from another camera viewpoint without additional steps by the user, the program execution system has a computer-readable and executable program stored on a recorded medium providing a character motion direction step by which, if along the motion of a character on the screen a switching is made from one scene to another, the direction of motion of the character in the second scene is maintained in coordination with the character&#39;s motion direction on a map in the first scene at least immediately before the switching.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a recording medium on which are recorded a program and data to be used in a program execution system that has a program execution device, an operation device, and a display device, etc., the program itself, the program execution system, and the program execution device.

2. Description of the Prior Art

As information devices such as a program execution system that include a video game machine, there are, for example, entertainment systems by which one plays a game while operating an operation device to cause the game content, that is stored on a CD-ROM or other recording medium, to be displayed on the screen of a television receiver.

Between the program execution device and the operation device in these entertainment systems, the connection is normally made by a serial interface, and when a clock pulse is sent from the program execution device, key switch information, etc. is sent from the operation device that corresponds to the operation of the user, synchronized with this clock pulse.

Also, recently systems have been developed and made practical in which a vibration generation unit is provided, that gives a vibration to the user (also called the player) upon demand from outside (for example, a program execution device) into an operation device, and, for example, while a game is being played various vibrations are given to the user in response to operations by the user.

As shown for example in FIG. 3, if an arbitrary character 106 is to be displayed on the screen of the monitor, character 106 is displayed by taking as the standard, among multiple camera viewpoints 100 and 102, the camera viewpoint 100 or the camera view point 102 that is associated with the position from which character 106 is to be displayed. Shown in FIG. 4 is an example, which is an image in which main road 104 extends straight in the depth direction from the near position on screen 110 and in which character 106 is displayed closer to the front than the location of intersection 108. In this case, as shown in FIG. 3, the camera viewpoint 100 is on a main road 104 and is set to a position that is nearer to the front than character 106.

As also shown in FIG. 4, if the user uses, for example a direction key on the operation device and operates character 106 so that for example it proceeds straight along the main road 104 the character 106 will move along the main road 104 in accordance with the operation input. However, when character 106 is positioned in the middle of intersection 108, the scene changes and, as shown in FIG. 5, character 106 is displayed from another camera viewpoint 102. As shown in FIG. 3, the other camera viewpoint 102 is the camera viewpoint set at the right front corner C4 which is one of the four corners C1-C4 at intersection 108. Thus, as shown in FIG. 5, main road 104 changes at the image and extends obliquely towards the right in the depth direction on screen 110.

The movement of character 106 after the switch to the other scene becomes a movement depending on the other camera viewpoint 102, and if, for example the upward direction key is operated by the user then, as shown in FIG. 6, character 106 will move upwards on screen 110 and will go off the main road 104 which extends obliquely towards the right.

Therefore, when the user is operating character 106 so that it advances straight along the main road 104 from the position shown in FIG. 4, if a switch to a different scene is suddenly made by the user, then character 106 will in this way depart from the main road 104. Therefore, the instant the scene changes to the scene shown in FIG. 5, the user must go to the trouble of switching to operations that correspond to the new scene.

Specifically, in the situation where character 106 is being chased by a monster, etc. or in the situation in which it will cross main road 104 within a limited time, etc., then every time the scene changes, one must manipulate character 106 by changing the operation, which creates a dilemma.

SUMMARY OF THE INVENTION

It is an object of the present invention, to avoid the above-described disadvantages of the prior art and provide a recording medium on which programs and data are recorded, a program execution system, a program and a program execution device whereby, even if the scene on the screen of the monitor changes, one event by the movement of a character immediately before the scene change (for example, proceeding straight along the main road) is also reflected as is in the scene after its change, and it is no longer necessary to alter the operation while confirming the direction of the main road every time the scene changes, and therefore the operability of the entertainment device can be greatly improved.

The above and other objects of the present invention are attained by a recording medium on which are recorded a program and data to be used in a program execution system that has a program execution device that executes various programs, at least one operation device into which operation requests as operation instructions to said program execution device are input by the user, and a display device that displays images outputted from the program execution device wherein the program has a step of maintenance of a direction of motion of any character on a screen of the display device wherein if, along with the motion of any character on the screen, based on an operation instruction on a direction, a switching is made from a first scene to a second scene on a said screen and said operation instruction is maintained and the direction of motion of said character in said second scene is maintained in accordance with the direction of motion of the character on a map in said first scene at least immediately before the switching is made.

The objects of the present invention are also achieved by a computer-readable and computer-executable program used in a program execution system that has a program execution device that executes various programs, at least one operation device into which operation requests as operation instructions to said program execution device, are inputted by the user, and a display device that displays images outputted from said program execution device, the program having a step of maintenance of a direction of motion of any character on a screen of the display device wherein if, along with the motion of any character on the screen based on an operation instruction on a direction, of said motion, switching is made from a first scene to a second scene on said screen and said operation instruction is maintained, and the direction of motion of said character in said second scene is maintained in coordination with the direction of motion of the character on a map in said first scene at least immediately before the switching is made.

A program execution system of the present invention comprises a program execution device that executes various programs, at least one operation device into which operation requests as operation instructions to said program execution device are inputted by the user, a display device that displays images outputted from said program execution device, and an image motion direction maintenance means which is a program that is executed in a controller in said program execution device wherein if, along with a motion of any character on the display device based on an operation instruction on a direction, of motion of any character a switching is made from a first scene to a second scene on the display device and said operation instruction is maintained, the direction of motion of said character in said second scene is maintained in accordance with the direction of motion of the character on a map in said first scene at least immediately before the switching is made.

A program execution device of the present invention to which can be connected at least an operation device that outputs operation requests by the user as operation instructions, and a display device for displaying images, comprises a direction maintenance means wherein if, along with the motion of any character based on an operation instruction on a direction of motion of a character on the display device, a switching is made from a first scene to a second scene on said display device and said operation instruction is maintained and the direction of motion of said character in said second scene is maintained in accordance with the direction of motion of the character on a map in said first scene at least immediately before the switching is made.

Thus, even if the scene changes from a first scene to a second scene, and one event by the motion of a character immediately before the change (for example, proceeding straight along a main road) is also reflected as is in the second scene after the change, it is no longer necessary to alter the operation while confirming the character motion direction every time the scene changes, and the operability of the entertainment can be greatly improved.

Also, if the first scene is to be drawn based on a coordinate change in accordance with a first viewpoint and the second scene is to be drawn based on a coordinate change in accordance with a second viewpoint, the direction maintenance step (means) may have a computation step (means) that computes the direction of motion of the character based on the first viewpoint.

Also, the present invention may compromise a first computation step (means) that determines, from the motion vector of any character by current operation instructions as seen from the prescribed viewpoint, at least the position coordinates of the character, a viewpoint switching step (means) that switches the viewpoint if necessary based on the position coordinates of the character, a second computation step (means) that, if the operation instruction is maintained after the switching of the viewpoint, determines, from the motion vector of any character by the operation instruction as seen from the previous viewpoint, at least the position coordinates of the character, and an image drawing step (means) that draws a three-dimensional image of the character based on the current viewpoint, based on the position coordinates of the character obtained by the first computation step (means) and the computation step (means).

In this way, first, in the first computation step (means), at least the position coordinates (for example, the world coordinates) of any character are determined from the motion vector of the character by the current operation input as seen from the specified viewpoint.

Then, in the viewpoint switching step (means), based on the position coordinates of the character it is decided whether the switching of the viewpoint is needed; if so, the viewpoint is switched, and if not, the viewpoint is maintained.

Then, in the image drawing step (means), based on the position coordinates of the character obtained in the first computation step (means), a three-dimensional image of said character based on the current viewpoint is drawn, and the three-dimensional image is displayed.

If the operation instruction is maintained after the switching of the viewpoint, then in the second computation step (means), at least the position coordinates of any character are determined from the motion vector of the character by the operation instruction as seen from the previous viewpoint, and in the following image drawing step (means), based on the position coordinates of the character obtained in the second computation step (means), a three-dimensional image of the character based on the current viewpoint is drawn, and the three-dimensional image is displayed.

The computation processing in the second computation step (means) is continued until the operation instructions are changed.

In this case too, when a change is made from a first scene to a second scene and one event by the motion of a character immediately before the change (for example, proceeding straight along a main road) is also reflected as is in the second scene after the change, it is no longer necessary to alter the operation while confirming the directionality every time the scene changes, and the operability can be greatly improved.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatical perspective view of an entertainment system of the present invention;

FIG. 2 is a block diagram of a circuit of the entertainment device of the invention;

FIG. 3 is an explanatory view showing positions of the first and second camera viewpoints on a display in a conventional operation of the entertainment device;

FIG. 4 is an explanatory view showing an example of the display as seen from the first camera viewpoint in the conventional operation of the entertainment device;

FIG. 5 is an explanatory view showing an example of the display as seen from the second camera viewpoint in the conventional operation of the entertainment device;

FIG. 6 is an explanatory view showing, for comparison, a drawback of conventional processing in the entertainment device;

FIG. 7 is an explanatory view showing an example of the display according to the processing of the present invention;

FIG. 8 is a functional block diagram of an image processing unit built into the entertainment system of the invention;

FIG. 9 is a first part of a flowchart of the processing action of the image processing unit of the system of the present invention;

FIG. 10 is a second part of the flowchart of FIG. 9 and;

FIG. 11 is an explanatory diagram showing the parts of the viewpoint switching information table.

EXPLANATION OF SYMBOLS USED IN THE DRAWINGS

-   10 . . . entertainment system -   12 . . . entertainment device -   16 . . . operation device (controller) -   18 . . . monitor (display) -   20 . . . optical disk -   100 . . . first camera viewpoint -   102 . . . second camera viewpoint -   104 . . . main road -   106 . . . character -   108 . . . intersection (crossroads) -   110 . . . screen -   200 . . . image processing means -   202 . . . first vector computation means -   204 . . . first position computation means -   206 . . . viewpoint switching means -   214 . . . direction maintenance means -   216 . . . second vector computation means -   218 . . . second position computation means

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following we describe, with reference to FIGS. 1-11, an embodiment in which the recording medium, program execution system, and program execution device of the present invention are applied to an entertainment system that is used for video games, etc.

As shown in FIG. 1, an entertainment system 10 of the embodiment of the present invention includes an entertainment device 12, which includes various programs, a memory card 14, which is detachable from entertainment device 12, an operation device (controller) 16, which is detachable from entertainment device 12, and a monitor (display) 18, which is a television receiver or any other suitable display device to which video and audio signals from entertainment device 12 are supplied.

Entertainment device 12 reads programs recorded on a high-capacity storage medium such as for example a CD-ROM or DVD-ROM optical disk 20, etc. and executes games, etc. in accordance with instructions from users (for example, game players, etc.) “Execution of a game” means to receive an input from controller 16 via a connector 15 and control the progress of the game while controlling the display and sound on monitor 18.

As also shown in FIG. 1, entertainment device 12 has the shape of flat stacked rectangular solid objects; arranged on its front panel are a disk tray 22 which moves forward and backward as the disk mounting part into which is mounted the optical disk 20 which is a program and data recording medium, a reset switch 24 for arbitrarily resetting, etc. the program, etc. that is currently being executed, an open button 26 for pulling out the disk tray 22, two insertion openings 30 for memory card 14, and two controller terminals 32 into which connector 15 of controller 16, etc., are to be inserted. A power switch 28 and AV multi-output terminals (not shown) are used on the back side of the entertainment device. The AV multi-output terminals are video and audio output terminals and are connected to monitor 18 via an AV (audiovisual) cable, etc.

Built into entertainment device 12 are, in addition to the control function of displaying characters and scenes on monitor 18 by reading and executing programs from optical disk 20, which is a CD-ROM, DVD-ROM, or other recording medium on which computer game (video game) programs and data are recorded various control functions such as the playback of movies by DVD (digital video disk), and the playback of audio by CDDA (compact disk digital audio), etc., which are other optical disks 20. The entertainment device 12 also has the function of executing programs obtained by communication via a communication network, etc. During the execution of a game program, three-dimensional computer graphics video generated by entertainment device 12 is displayed on monitor 18, which serves as a display device.

In this case, signals from controller 16 are also processed by one of the control functions of entertainment device 12, and their content is reflected on the screen of monitor 18 by, for example, the movement of characters and the changing of scenes.

Controller 16 has first and second operation units 51 and 52 to the left and right of the middle of its top surface and also has third and fourth operation units 53 and 54 on its side surface, and left and right on the front side of its top surface it has a left-side rotation operation control 70 and a right-side rotation operation control 72, which are joy sticks for analog operation.

The first operation unit 51 is a pressing operation unit for giving actions to characters, etc. displayed, for example on the screen of monitor 18; its functions are set by the program, etc. recorded on optical disk 20, and it consists of, for example, four operation keys (direction keys) 51 a, 51 b, 51 c, 51 d, which have the function of, for example, moving character 106, etc. up, down, left, right, etc. Direction key 51 a is also called the upward key, and direction key 51 b is called the downward key, direction key 51 c is called the leftward key, and direction key 51 d is called the rightward key.

Second operation unit 52 has four cylindrically shaped operation buttons 52 a, 52 b, 52 c, 52 d for pressing operation; the identification marks Δ, ∘, <X>, □ appear on the top of the respective operation buttons 52 a-52 d, and operation buttons 52 a-52 d are also known as Δ button 52 a, ∘ button 52 b, <X> button 52 c, and □ button 52 d, respectively.

The functions of operation buttons 52 a-52 d of the second operation unit 52 are set by a program, etc. recorded on optical disk 20, and the functions of for example moving the left arm, right arm, left leg, right leg of a character, etc. are assigned to operation buttons 52 a-52 d.

Third and fourth operation units 53 and 54, which have about the same structure, each have, one above the other, two operation buttons, namely, operation button (L1 button) 53 a and operation button (L2 button) 53 b, and operation button (R1 button) 54 a and operation button (R2 button) 54 b. The functions of the third and fourth operation units 53 and 54 are likewise set by a program, etc. recorded on optical disk 20, and for example functions for special actions are allocated to character 106.

Left and right rotation operation controls 70 and 72 have signal input elements, such as variable resistors, that enable each operation shaft to rotate 360° about their respective operation shafts, and analog values are outputted in accordance with the tilting action. These left and right rotation operation controls 70 and 72 are restored to their neutral position by spring members (not shown). Also, a signal separate from the analog value associated with the tilting action of rotation operation controls 70 and 72 is outputted by pressing each of controls 70 and 72 downward. That is, left and right rotation operation controls 70 and 72 have the functions of operation button (L3 button) 70 a and (R3 button) 72 a as fifth and sixth operation units for pressing operation.

By rotating and tilting left and right rotation operation controls 70 and 72, it is possible to input command signals that make it possible to perform such analog motions as, for example, moving the character 106, etc. while rotating it, or moving it while varying its speed, and changing its position.

In FIG. 1, left and right rotation operation controls 70 and 72 can be used switching between them said first and second operation units 51 and 52. This switching is done by an analog mode switch 74. When left and right rotation operation controls 70 and 72 are selected by analog mode switch 74, a display unit 76 lights up, displaying the selected status of left and right rotation operation controls 70 and 72.

Provided on controller 16 are, in addition to elements described above, a start button (start switch) 78, which gives the instruction to begin the game, etc., and a select button (selector switch) 80 for selecting the degree of difficulty of the game when the game is begun, etc.

Next, referring to the block diagram shown in FIG. 2, we describe the internal structure and general operation of entertainment device 12 shown in FIG. 1.

In the entertainment device 12, a RAM 402 as a semiconductor memory and a bus 403 are each connected to a CPU 401 which controls said entertainment device 12.

Connected to bus 403 are a graphic synthesizer (GS) 404 and an input-output processor (IOP) 409. Included in GS 404 are a RAM (image memory) 405 which includes a frame buffer, a Z buffer, and a texture memory, etc., and rendering engine 406, which has rendering functions that include the function of drawing to the frame buffer in the image memory 405.

Connected to GS 404, is the monitor 18 as an external device, and the connection is made via an encoder 407 for, for example, converting digital RGB signals, etc. to NTSC-standard television format.

Connected to a IOP 409 are driver (DRV) 410 for playing back and decoding data recorded on optical disk 20, a sound processor (SP) 412, memory card 14 as an external memory consisting of flash memory, controller 16, and a ROM 416, on which the operating system, etc. is recorded. An SP 412 is connected via an amplifier 413 to a speaker 414 and monitor 18 as external devices, and supplies audio signals to them.

Here, the memory card 14, which is a card-type external storage device that consists of, for example, a CPU or gate array and flash memory, is detachable from entertainment device 12 shown in FIG. 2 via its insertion opening 30, and stores intermediate states of the game, a program for DVD playback, etc.

Controller 16 provides to entertainment device 12 commands (binary commands or multi-value commands) by the user's pressing the multiple buttons on the controller. Also, driver 410 has a decoder for decoding images encoded by the MPEG (moving picture experts group) standard.

Next, the procedure of how images are displayed on monitor 18 by operation of controller 16 will be described. It is assumed that object data consisting of polygon vertex data, texture data, etc. recorded on optical disk 20 is read via driver 410 and is held in RAM 402 of CPU 401.

When instructions from a player, who is the user, are inputted into entertainment device 12 via controller 16, based on these instructions, CPU 401 computes the position of the object in three dimensions (3D) and its orientation with respect to the viewpoint. Thus, the polygon vertex data of the object prescribed by the X, Y, Z coordinate values of the three orthogonal axes is changed for each. The post-change polygon vertex data is converted to two-dimensional coordinate data by perspective transformation processing.

The region prescribed by two-dimensional coordinates is a so-called polygon. The post-transformation two-dimensional coordinate data, Z data, and texture data are supplied to GS 404. Based on the post-transformation two-dimensional coordinate data and Z data, GS 404 performs rendering, and performs drawing processing by writing (drawing) successive texture data to the frame buffer of image memory 405. After a one-frame image completed by this drawing processing is encoded by encoder 407, the drawn texture data is supplied to monitor 18 and is displayed as an image on its screen.

Next, referring to FIGS. 3-7, the characteristic functions that entertainment system 10 of this embodiment has, that is, the functions that are realized by programs supplied to entertainment device 12 by, for example, a random-access memory such as optical disk 20 or memory card 14, and by a network.

This function is the one by which if, along with the motion of any character based on operation input (operation instructions from controller 16) concerning the character motion direction, a switch is made from a first scene to a second scene and the operation input is maintained, the direction of motion of character 106 in the second scene is maintained in coordination with the direction of motion of character 106 on the map in the first scene at least immediately before the switching from the first scene to the second scene is made.

Specifically, as shown in FIG. 3, assuming two camera viewpoints 100 and 102, the first camera viewpoint 100 is on main road 104 and is set to a position at one side of character 106, and second camera viewpoint 102 is set to the right front corner C4 of the four corners C1-C4 at intersection 108.

FIG. 4 shows an example of the display based on the first camera viewpoint 100 (the first scene); it is an image in which main road 104 extends straight from the front of screen 110 towards the depth direction, and it shows the case in which character 106 is displayed in front of the location of intersection 108. Shown on the screen is a situation in which character 106 is running along the main road 104. FIG. 5 is an example of the display based on second camera viewpoint 102 (the second scene); it is an image in which the main road 104 extends from the front of screen 110 obliquely to the right in the depth direction.

In the first scene shown in FIG. 4, for example, by operating the upward key 51 a of the operation controls of controller 16, character 106, in accordance with the operation input, will proceed straight along main road 104. But when character 106 is positioned in the middle of intersection 108, the scene changes, and character 106 will be displayed based on second camera viewpoint 102, as shown in FIG. 5 (the second scene).

Normally the movements of character 106 after the change from the first to the second scene will be movements based on the second camera viewpoint 102, and if, for example, the upward key 51 a is operated, character 106 will proceed upward on screen 110 and will leave main road 104, which extends obliquely to the right (see FIG. 6).

However, according to the present invention, when the switching is made from the first scene to the second scene, as long as the operation in the first scene is maintained, the one event due to the motion of character 106 immediately prior to the switching to the second scene (for example, proceeding straight along main road 104) will be reflected as is, even after the change to the second scene.

For example, before the change from the first scene to the second scene, that is, in the first scene shown in FIG. 4, if for example the upward key 51 a is being operated, then when the change is made to the second scene, character 106 will proceed along main road 104, which extends obliquely to the right, as shown in FIG. 7. The display of this case is achieved by coordinate calculation based on first camera viewpoint 100.

After the change has been made to the second scene, at the stage in which the operation to controller 16 has once changed to another operation, the coordinates for the motion of character 106 will be calculated based on the second camera viewpoint 102. Therefore if at this stage one wishes to have character 106 proceed along main road 104, it suffices to perform an operation in the direction obliquely to the right.

Next, referring to FIGS. 8-11, we describe an example of software (image processing means 200) for realizing the above function.

As described above, image processing means 200 is provided to entertainment device 12 by a random-access memory medium such as optical disk 20 or memory 14, and by a network. Here the description will be made by assuming the case in which it is read into entertainment device 12 from optical disk 20 and is put into operation.

That is, image processing means 200 is run on CPU 401 by, for example, previously downloading it from a specified optical disk 20 to be played on entertainment device 12, going through specified processing, and downloading it into RAM 402 of entertainment device 12.

As shown in FIG. 8, image processing means 200 has a first vector computation means 202, which computes the motion vector of character 106 as seen from a specified viewpoint, a first position computation means 204, which computes the coordinates (world coordinates) of character 106 from the motion vector that is obtained, a viewpoint switching means 206, which switches to a viewpoint corresponding to the position of character 106 if a switch of viewpoints is necessary, image drawing means 208, which draws to image memory 405 a three-dimensional image based on the specified viewpoint, and image display means 210, which outputs to monitor 18 the three-dimensional image data drawn to image memory 405 and causes the three-dimensional image to be displayed on screen 110 of monitor 18.

In addition to the above various means, the image processing means 200 also has an operation input decision means 212, which decides whether the operation input from controller 16 has been changed, and a direction maintenance means 214, which, if the operation input is maintained even at the stage at which the viewpoint has changed, maintains the direction of motion of character 106 in coordination with the direction of motion of character 106 on the map in the first scene at least immediately before the switching is made.

The direction maintenance means 214 has a second vector computation means 216, which computes the motion vector of character 106 as seen from the viewpoint before the switch is made (the previous viewpoint), and a second position computation means 218, which computes the coordinates (world coordinates) and orientation of character 106 from the motion vector that is obtained.

Next, referring to the flowcharts of FIGS. 9 and 10, the processing action of the image processing means 200 will be described.

The image processing means 200 first sets the initial viewpoint as the current viewpoint in step S1 in FIG. 9, then, in step S2, it is decided whether there is a termination request (power cutoff or game-over request, etc.) to this image processing means 200. If there is no termination request, one proceeds to the following step S3 and receives the operation instructions from controller 16 by the user, that is the operation input.

Next, in step S4, by the first vector computation means 202, the motion vector of character 106 by the current operation input as seen from the current viewpoint is computed; then, in step S5, by the first position computation means 204, the position (world coordinates) of character 106 and its direction with respect to the current viewpoint are computed based on the obtained motion vector.

Next, in step S6, by the image drawing means 208, the background image based on the current viewpoint is drawn to image memory 405. Then, in step S7, the position (world coordinates) of character 106 is converted to camera coordinates based on the current viewpoint.

Next, in step S8, the vertex data of the object data corresponding to said character 106 is rewritten based on obtained camera coordinates. Then, in step S9, by means of image drawing means 208, rendering processing is done for the object data, and a three-dimensional image of said character 106 is drawn to image memory 405. Next, in step S10, by the image display means 210, the three-dimensional image data drawn to the image memory 405 is outputted to monitor 18, and the three-dimensional image is displayed on screen 110 of monitor 18.

Next, in step S11, by the viewpoint switching means 206, it is decided whether the viewpoint can be switched. This decision is made, using a viewpoint switching information table 220. As shown in FIG. 11, the coordinates of the viewpoint and the range of the world coordinates controlled by the viewpoint are registered in each record in the viewpoint switching information table 220.

The decision is made by searching for records that include the world coordinates obtained in step S5 at the viewpoint switching information table 220, and comparing the coordinates of the viewpoint registered in the looked-up records with the coordinates of the current viewpoint.

If the coordinates of the compared viewpoints are the same, one jumps from step S12 back to the processing, beginning with step S2, and the movements of character 106 according to the operation input at the current viewpoint are displayed as three-dimensional images. By repeating the processing of steps S3 through S11, one displays the image as seen from first camera viewpoint 100, for example, an image of character 106 running straight along main road 104, as shown in FIG. 5.

If, on the other hand, the coordinates of the compared viewpoints are different, the switching of viewpoints is considered necessary, and one proceeds from step S12 to step S13 and defines as the current viewpoint the viewpoint registered in the record found in step S5.

Next, in step S14, the operation input from controller 16 by the user is accepted. Then, in step S15, by means of the operation input decision means, it is decided whether there is a change in the operation input. If there is no change in the operation input and it is kept as is, one enters processing by the character motion direction maintenance means 214.

In this processing, first, in step S16, by the second vector computation means 216, the motion vector of character 106 by the current operation input as seen from the pre-switching viewpoint (the previous viewpoint) is computed; then, in step S17, by the second position computation means 218, the world coordinates of character 106 and its motion direction with respect to the current viewpoint are computed, based on the obtained motion vector.

Next, in step S18, by the image drawing means 208, the background image based on the current viewpoint is drawn to image memory 405. Then, in step S19, the position (world coordinates) of character 106 is converted to camera coordinates based on the current viewpoint.

Next, in step S20, the vertex data of the object data corresponding to character 106 is rewritten based on the obtained camera coordinates. Then, in step S21, by the image drawing means 208, rendering processing is done for the object data, and a three-dimensional image of character 106 is drawn to image memory 405. Next, in step S22, by means of image display means 210, the three-dimensional image data drawn to the image memory 405 is outputted to monitor 18 and the three-dimensional image is displayed on screen 110 of monitor 18. At the point at which the processing in step S22 terminates, one returns to the processing beginning at step 14.

By the processing from step S14 to step S22, that is, by the processing by direction maintenance means 214, when a change is made from the first scene of FIG. 5 to the second scene, as long as the operation in the first scene is maintained, as shown in FIG. 7, the one event due to the motion of character 106 immediately prior to the switching to the second scene (in this example, the event of proceeding straight along main road 104) will be reflected as is even after the change to the second scene.

In step S15, at the stage at which it is decided that the operation input has changed, one returns to the normal processing, beginning with step S4 in FIG. 9, and this time, in the scene shown in FIG. 7, what is displayed is the character 106 acting in accordance with the operation input. In step S2, at the stage at which there is a termination request to the image processing means 200, the processing by the image processing means 200 terminates.

Thus, in entertainment system 12 of this invention there is a direction maintenance means 214 by which if, along with the motion of any character 106 based on the operation input concerning the character motion direction, a switching is made from a first scene to a second scene and the operation input is maintained, the direction of motion of the character 106 in said second scene is maintained in coordination with the direction of motion of character 106 on the map in the first scene at least immediately before the switching is made, so even if the scene is switched from the first scene to the second scene, the one event due to the motion of character 106 immediately prior to the switching (for example, proceeding straight along main road 104) will be reflected as is also in the second scene which comes after the switching, the user will not need to alter the operation while confirming the direction every time the scene changes, and the operability of the entertainment device can be greatly improved.

Needless to say that the recording medium, program, program execution system, and program execution device of this invention are not limited to the afore-described embodiment but may adopt various compositions as long as they do not depart from the gist of this invention. 

1. A non-transitory recording medium comprising a recorded program and data to be used in a program execution system including a program execution device that executes various programs, at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device, wherein said recorded program has a direction maintenance step by which if, along with a motion of any character on a display device, based on an operation instruction about a character motion direction, a switching is made from a first fixed viewing perspective to a second fixed viewing perspective on said display device and so long as said operation instruction is maintained, the direction of motion of said character in said second fixed viewing perspective is maintained in coordination with the direction of motion of the character on a map in said first fixed viewing perspective at least as determined immediately before the switching is made, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewing perspective, a direction of motion of the character is calculated based on the second fixed viewing perspective, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 2. The recording medium as described in claim 1, wherein if said first fixed viewing perspective on said display device is to be drawn based on a coordinate transformation based on a first viewpoint and said second fixed viewing perspective on said display device is to be drawn based on a coordinate transformation based on a second viewpoint, said direction maintenance step has a computation step that computes said direction of motion of said character based on said first viewpoint.
 3. The recording medium as described in claim 1, wherein said direction of motion of said character in said second fixed viewing perspective is maintained for as long as said operation instruction is maintained by said user.
 4. The recording medium as described in claim 1, wherein said character motion direction is continuous from said first fixed viewing perspective to said second fixed viewing perspective.
 5. The recording medium as described in claim 1, wherein the switching from the first fixed viewing perspective to the second fixed viewing perspective is discontinuous.
 6. A non-transitory recording medium comprising a program and data recorded thereon and which are to be used in a program execution system including a program execution device that executes various programs, at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device, and a display device that displays images output from said program execution device, wherein said program comprises: a first computation step which determines at least position coordinates of a character in a scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a first viewpoint, a viewpoint switching step that switches viewpoints if necessary, based on said position coordinates of said character, a second computation step which determines at least position coordinates of the character in the scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a second viewpoint switched by the viewpoint switching step, wherein the second computation step to determine position coordinates of the character in the scene after switching the viewpoint, as long as an operation is inputted and maintained by the user before switching the viewpoint, by using the motion vector of the character motion based on the operation, and an image drawing step that draws a three-dimensional image of said character based on said current viewpoint, in accordance with said position coordinates of said character obtained by said first computation step and said second computation step, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 7. A program execution system comprising: a program execution device having a controller that executes various programs; at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device; and a direction maintenance means which is a program that is operated in said controller of said program execution device, said direction maintenance means if, along with a motion of any character based on an operation instruction concerning a direction of motion of a character on a display device, and a switching is made from a first fixed viewing perspective to a second fixed viewing perspective on said display device and so long as said operation instruction is maintained, maintaining the direction of motion of said character in said second fixed viewing perspective in coordination with the direction of motion of the character on a map in said first fixed viewing perspective at least immediately before the switching is made, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewing perspective, a direction of motion of the character is calculated based on the second fixed viewing perspective, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 8. In a program execution system as described in claim 7, wherein said direction maintenance means further comprises: a computation means that computes said direction of motion of said character based on said first viewpoint if said first fixed viewing perspective is to be drawn based on a coordinate transformation based on a first viewpoint and said second fixed viewing perspective is to be drawn based on a coordinate transformation based on a second viewpoint.
 9. The program execution system as described in claim 7, wherein said direction of motion of said character in said second fixed viewing perspective is maintained for as long as said operation instruction is maintained by said user.
 10. A program execution system comprising: a program execution device having a controller, and executing various programs; at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device; a display device that displays images outputted from said program execution device; and an image processing means configured as a program that operates in said controller in said program execution device; wherein said image processing means includes: a first computation means that determines at least position coordinates of a character in a scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a first viewpoint, a viewpoint switching means that switches a current viewpoint if necessary based on said position coordinates of said character, a second computation means that determines at least position coordinates of the character in the scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a second viewpoint, wherein the second computation step determines at least position coordinates of the character in the scene after switching the viewpoint, as long as an operation is inputted and maintained by the user before switching the viewpoint, by using the motion vector of the character motion based on the operation, and an image drawing means that draws a three-dimensional image of said character based on said current viewpoint, in accordance with said position coordinates of said character obtained by said first computation means and said second computation means, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 11. A program execution device to which can be connected at least an operation device that outputs operation requests by a user as operation instructions, said program execution device comprising: a direction maintenance means by which if, along with a motion of any character on a display device based on an operation instruction concerning a direction of motion of a character on said display device, a switching is made from a first fixed viewing perspective to a second fixed viewing perspective on said display device and so long as said operation instruction is maintained, the direction of motion of said character in said second fixed viewing perspective is maintained in coordination with the direction of motion of the character on a map in said first fixed viewing perspective at least immediately before the switching is made, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewing perspective, a direction of motion of the character is calculated based on the second fixed viewing perspective, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 12. The program execution device to as described in claim 11, wherein said direction of motion of said character in said second fixed viewing perspective is maintained for as long as said operation instruction is maintained by said user.
 13. A program execution device to which can be connected at least an operation device that outputs operation requests by a user as operation instructions and a display device for displaying images, the program execution device comprising: a first computation means that determines at least position coordinates of a character in a scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a first viewpoint, a viewpoint switching means that switches a current viewpoint if necessary based on said position coordinates of said character, a second computation means that determines at least position coordinates of the character in the scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a second viewpoint switched by the viewpoint switching step, wherein the second computation step determines at least position coordinates of the character in the scene after switching the viewpoint, as long as an operation is inputted and maintained by the user before switching the viewpoint, by using the motion vector of the character motion based on the operation, and an image drawing means that draws a three-dimensional image of said character based on said current viewpoint, based on said position coordinates of said character obtained by said first computation means and said second computation means, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 14. A non-transitory recording medium comprising a program and data recorded thereon and which are to be used in a program execution system including a program execution device that executes various programs, at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device, and a display device that displays images output from said program execution device, said program comprising: a first computation step which determines at least position coordinates of a character in a scene on said display device from a motion vector of said character based on the operation inputted by the user as seen in a first motion coordinate system based on a first viewpoint, a viewpoint switching step that switches viewpoints from a first viewpoint to a second viewpoint based on said position coordinates of said character on said display device, said second viewpoint having associated therewith a second motion coordinate system that differs from said first motion coordinate system, a second computation step which determines at least position coordinates of the character in the scene on the display device from a motion vector of said character, said motion vector based on an operation inputted by the user as seen from said second viewpoint by said maintained operation instruction in accordance with said first motion coordinate system, wherein the second computation step determines at least position coordinates of the character in the scene after switching the viewpoint, as long as an operation is inputted and maintained by the user before switching the viewpoint, by using the motion vector of the character motion based on the operation, and an image drawing step that draws a three-dimensional image of said character based on said first or second display device viewpoint, in accordance with said position coordinates of said character obtained by said first computation step and said second computation step, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 15. The recording medium as described in claim 14, wherein said motion vector of said character in said second display device viewpoint is determined in accordance with said second motion coordinate system once said maintained operation instruction is terminated.
 16. A program execution system comprising: a program execution device having a controller, and executing various programs; a display device that displays images outputted from said program execution device; at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device, said operation instructions associated with movements of a character displayed on said display device; said display device further comprising a first viewpoint in which movements of said character is controlled in accordance with a first movement coordinate system, and a second viewpoint in which movements of said character is controlled in accordance with a second movement coordinate system, an image processing means configured as a controller program that operates in said controller in said program execution device, wherein said image processing means further comprises: a first computation means that determines position coordinates of said character in said first display device viewpoint, said position coordinates based on a first motion vector of said character in said first display device viewpoint in accordance with operation instructions, a viewpoint switching means that switches from said first display device viewpoint to said second display device viewpoint if necessary based on said position coordinates of said character, a second computation means that determines position coordinates of said character in said second display device viewpoint, said position coordinates based on a second motion vector of said character in said second display device viewpoint in accordance with operation instructions, and an image drawing means that draws a three-dimensional image of said character in said first or second display device viewpoint, in accordance with said position coordinates of said character obtained by said first computation means and second computation means respectively, wherein if said operation instruction is maintained during a switch from said first display device viewpoint to said second display device viewpoint, said second motion vector governing movement of said character in said second display device viewpoint is controlled in accordance with said first movement coordinate system, such that movement of said character is consistent between first and second display device viewpoints while said operation instruction is maintained during and immediately after said switch between said viewpoints, wherein said second computation means and said image drawing means are repeatedly executed for as long as said operation instruction is maintained by said user, and wherein once said operation instruction is terminated after said switch from said first display device viewpoint to said second display device viewpoint, said second motion vector governing movement of said character in said second display device viewpoint is controlled in accordance with said second movement coordinate system, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction.
 17. A program execution system comprising: a program execution device having a controller, and executing various programs; at least one operation device into which are inputted operation requests by a user as operation instructions to said program execution device; a display device that displays images outputted from said program execution device; and an image processing means configured as a program that operates in said controller in said program execution device; wherein said image processing means includes: a first computation means that determines at least position coordinates of a character in a scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a first viewpoint, a viewpoint switching means that switches a current viewpoint if necessary based on said position coordinates of said character, an operation input decision means that decides whether an operation input from at least one operation device maintains before and after the viewpoint switching means switches the current viewpoint; and a second computation means that determines at least position coordinates of the character in the scene on the display device from a motion vector of the character based on an operation inputted by the user as seen from a second viewpoint, wherein the second computation step determines at least position coordinates of the character in the scene after switching the viewpoint, when the operation input decision means decides the operation input from the operation device is maintained, as long as an operation is inputted by the user before switching the viewpoint, by using the motion vector of the character motion based on the operation, and an image drawing means that draws a three-dimensional image of said character based on said current viewpoint, in accordance with said position coordinates of said character obtained by said first computation means or said second computation means, and only thereafter, when the operation instruction is changed to another operation instruction, after the switching of the viewpoints, a direction of motion of the character is calculated based on the second viewpoint, and its position then determined based on a position of the character and a motion direction from the operation instruction. 